Co-Ordination of Multiple External Representations during Java Program Debugging
نویسندگان
چکیده
Java program debugging was investigated in computer science students who used a software debugging environment (SDE) that provided concurrently displayed, adjacent, multiple and linked representations consisting of the program code, a visualisation of the program, and its output. The aim of this investigation was to address questions such as ‘To what extent do programmers use each type of representation?’, ‘Are particular patterns of representation use associated with superior debugging performance?’, ‘Are graphical representations more helpful to Java programmers than textual ones?’ and ‘Are representations that highlight data structure more useful than those that highlight control-flow for Java debugging?’ A modified version of the Restricted Focus Viewer (RFV) a visual attention tracking system was employed to measure the degree to which each of the representations was used, and to record switches between representations. The experimental results are in agreement with research in the area that suggests that control-flow information is difficult to decode in an Object-Oriented language like Java. These results also suggest that graphical representations might be more useful than textual ones when the degree of difficulty of the debugging task poses a challenge to programmers. Additionally, the results link programming experience to switching behaviour, suggesting that although switches between the code and the visualisation are the most common ones, programming experience might promote a more balanced switching behaviour between the main representation, the code, and the secondary ones.
منابع مشابه
Visual attention switching patterns of programmers debugging with an IDE
Integrated Development Environments (IDEs) generate multiple graphical and textual representations of programs. Co-ordination of these representations during program comprehension and debugging can be a complex task. In order to better understand the role and effectiveness of multiple representations, and to design better IDE interfaces in future, we conducted an empirical study of java program...
متن کاملTowards a Debugging Tutor for Object-Oriented Environments
Programming has provided a rich domain for Artificial Intelligence in Education and many systems have been developed to advise students about the bugs in their programs, either during program development or post-hoc. Surprisingly few systems have been developed specifically to teach debugging. Learning environment builders have assumed that either the student will be taught these elsewhere or t...
متن کاملVisual attention and representation switching in Java program debugging: A study using eye movement tracking
This paper describes a study of Java program debugging using a multiple window software debugging environment (SDE). In this study we have replicated an earlier study by Romero et al. (2002a, 2002b, 2003), but with the difference of using both the Restricted Focus Viewer and the eye tracking equipment to track the visual attention of the subjects. The study involved ten subjects debugging short...
متن کاملMultithreaded Dependence Graphs for Concurrent Java Programs
Understanding program dependencies in a computer program is essential for many software engineering activities including program slicing, testing, debugging, reverse engineering, and maintenance. In this paper, we present a dependence-based representation called multithreaded dependence graph, which extends previous dependence-based representations, to represent program dependencies in a concur...
متن کاملApplying Program Dependence Analysis to Java Software
Understanding program dependences is essential for many software engineering activities including program slicing, testing, debugging, reverse engineering, maintenance, and complexity measurement. This paper presents the software dependence graph for Java (JSDG), which extends previous dependence-based representations, to represent various types of program dependences in Java software. The JSDG...
متن کامل